In recent years, the eXtensible Markup Language (XML) has become widely used for various purposes, including providing web services within commercial and other environments. XML is an open standard for describing data, and is published and maintained by the World Wide Web Consortium (W3C), which has an Internet presence at http://www.w3.org. XML is used to define data elements on web pages as well as documents, and employs a tag structure similar to the HyperText Markup Language (HTML). However, whereas HTML defines how elements are displayed, XML defines what those elements contain. XML allows tags to be defined by developers, and provides a common manner by which data can be identified.
XML achieves such commonality in part by using human-readable plain text as the data format in which XML files are defined and formulated. However, plain text processing can be slower than processing other types of files. For instance, each character of an XML file may be represented by eight or sixteen bits, such that all of the bits of the character must usually be examined to determine whether the character is a desired character. In general, such desired character lookup is accomplished in relation to XML files in particular to search for delimiters. A delimiter is a character or a combination of characters used to separate one item or set of data from another. For example, in comma-delimited records, a comma is used to separate each field of data. In relation to XML, characters including the greater than symbol (“>”), the less than symbol (“<”), and the slash (“/”), among others, serve as delimiters.
An XML parser may have to determine the first position in which a given XML delimiter occurs within a character string that represents a section of XML code. For example, an XML parser may first have to locate a less than symbol, and then a greater than symbol, to locate the opening of a tag, and then may have to locate a less than symbol followed by a slash, and then a greater than symbol, to locate the closing of a tag. Typically, such delimiter lookup is accomplished sequentially. For a given section of XML code—that is, for a given character string—each character is examined, and it is determined whether the character is a delimiter. If not, the next character is processed, and so on, until the entire character string has been processed. Such sequential character string processing to look up delimiters is slow, however. For this and other reasons, there is a need for the present invention.